home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power Tools 1993 October - Disc 2
/
Power Tools (Disc 2)(October 1993)(HP).iso
/
hotlines
/
network
/
sockets1.txt
< prev
next >
Wrap
Text File
|
1993-02-19
|
8KB
|
214 lines
This hotline article describes the Berkeley Sockets/iX product
and is divided into the following parts:
Executive Summary
What is BSD Sockets?
Product Structure and Availability
Functionality and Supported Calls
Functionality Not Available Until Future Releases
Positioning: BSD Sockets and NetIPC
Positioning: BSD Sockets and HP Software Integration Sockets
Executive Summary
=================
The Berkeley (BSD) Sockets API is available as part of MPE/iX
4.0. The MPE implementation supports most of the standard BSD
Sockets calls and provides an interface to both TCP and UDP.
BSD Sockets is structured as part of the MPE/iX FOS. Networking
support is provided through the purchase of any standard HP 3000
Series 900 network link.
What is BSD Sockets?
====================
Berkeley Software Division (BSD) Sockets is an industry standard
interface for inter-process communications. BSD Sockets is most
commonly thought of and used as a networking application
programmatic interface (API), allowing applications on separate
systems to communicate with each other. BSD Sockets allow
applications to be developed independent of the underlying
networking.
BSD Sockets is the most common API for UNIX networking and is
widely available on a variety of other systems (SUN workstations
running SunOS and Solaris, IBM systems running AIX, DEC systems
running Ultrix, HP 9000 systems running HP-UX, and HP 1000
systems running RTE).
Product Structure and Availability
==================================
Berkeley Sockets/iX is available on HP 3000 Series 900 systems
beginning with MPE/iX release 4.0.
BSD Sockets is part of the MPE/iX Fundamental Operating System
(FOS); there is no separate charge. As part of FOS, BSD Sockets
supports communications between two processes on the same HP
system.
To support communications between process on a local system and a
process on a remote system, the customer must purchase any one of
the network links:
ThinLAN 3000/XL Link HP 36923A
X.25 XL System Access AND one of HP 36939A,
the DTC/X.25 Network Access Cards (2340A-310; 2343D;
(see note below) 2345A-310, 320,330,335;
2346D/E/F/G)
Point-to-Point Network Link/XL HP 36922A
Token Ring 3000/iX Network Link HP J2167A
Each network link provides the ARPA/NS transport (TCP/UDP/IP),
the device driver software, and the hardware interface.
NOTE: BSD Sockets provides an interface to TCP or UDP over X.25;
BSD Sockets does NOT provide a direct interface to X.25.
The "Berkeley Sockets/iX Reference Manual" (HP 32650-90363) is
part of the MPE/iX Programming Core Manual Set (36369A).
Functionality and Supported Calls
=================================
BSD Sockets are communication end points that allow programs
running on the same or different nodes to exchange messages and
data.
The two common socket types are stream sockets and datagram
sockets. A stream socket is a connection-oriented model that
supports a reliable and sequenced flow of data (for example,
TCP). A datagram socket is a connectionless model that allows an
unreliable and unsequenced flow of data (for example, UDP).
BSD Sockets operate in different communication domains. Sockets
exchange information only with other sockets in the same domain.
The most common socket domains are the UNIX (local) domain and
the Internet (ARPA) domain. Sockets on the local domain can only
be used to communicate with process on the same node (system).
Sockets on the Internet domain can communicate with processes on
the same or different node (system).
Berkeley Sockets/iX provides a C language interface to either TCP
(Transmission Control Protocol) or UDP (User Datagram Protocol).
The MPE/iX implementation is based on BSD version 4.3.
The following BSD Sockets calls are supported on MPE/iX 4.0:
accept()
bind()
* close()
connect()
* fcntl()
gethostby xxxx
getnetby xxxx
getpeername()
getprotoby xxxx
getservby xxxx
getsockname()
listen()
recv()
recvfrom()
select()
send()
sendto()
shutdown()
socket()
socketpair()
* NOTE: On MPE/iX 4.0, close() and fcntl() are implemented via
the temporary substitute calls sclose() and sfcntl(). The
standard close() and fcntl() functions will be available on
a later MPE/iX release in conjunction with POSIX support.
Applications written to the temporary substitute calls will
require minor rewriting.
Functionality Not Available Until Future Releases
=================================================
The following BSD Sockets calls will be supported in later
releases of MPE/iX (AFTER 4.0):
ioctl()
gethostname()
getsockopt()
read()
readv() [fread]
recvmsg()
sendmsg()
setsockopt()
write()
writev() [fwrite]
The threads, fork, and exec environments will also be supported
in future releases.
In general, all of this functionality requires an underlying
POSIX operating system environment (specifically a hierarchical
file system) that will not be until a later release of MPE/iX
(AFTER 4.0).
Positioning: BSD Sockets and NetIPC
===================================
NetIPC is an HP proprietary API for interprocess communication
(IPC). NetIPC is available as part of the network links on HP
3000s (both MPE V and MPE/iX).
BSD Sockets is a de facto industry standard API for interprocess
communication. BSD Sockets and NetIPC provide the same basic
functionality.
HP STRONGLY recommends that MPE/iX customers develop all new
programs using interprocess communications on top of Berkeley
Sockets/iX. Customers with existing NetIPC-based applications
may also wish to consider rewriting those applications to BSD
Sockets for greater portability. A NetIPC-to-Sockets migration
guide will be available shortly.
Positioning: BSD Sockets and HP Software Integration Sockets
===========================================================
HP Software Integration Sockets (sometimes also referred to as HP
Sockets) is a tool for integrating new or existing applications
across a network of heterogeneous computers. HP Software
Integration Sockets provides facilities, including an API, for
sending messages, data, and files among applications without
modifying the application itself. HP Software Integration
Sockets is built on top of standard networking services,
including the use of BSD Sockets as an interface to the ARPA
transport.
BSD Sockets provides a industry standard API for interprocess
communication across the ARPA transport (TCP & UDP over IP)
between heterogeneous computers. HP Software Integration Sockets
provides additional features beyond the ARPA transport (and ARPA
services), including reliable and guaranteed delivery of messages
and files and data transformation capabilities, such as record
re-structuring or data type conversion. A developer must
understand the underlying networking to use BSD Sockets; HP
Software Integration Sockets shields the developer as much as
possible from the specifics of the network.
BSD Sockets/iX is bundled with the MPE operating system; HP
Software Integration Sockets is a separately purchasable product.
Functionality, performance, networking expertise, and the total
cost (including product purchase, application development, and
application maintenance) are all relevant factors that a customer
should take into account in deciding whether to use BSD Sockets
or HP Software Integration Sockets.